L'angolo di 6502Demo
2006-01-01
Indice

Benvenuti!
Chi sono
Demo
Documenti
Quelli piccoli
Problemi
Scacchi
Immagini
Musica
Il mio blog
Scrivimi

English version 


Demo

In questa sezione sono presenti alcuni programmi (a volte solo in forma eseguibile e a volte con sorgenti) che sono stati scritti come passatempo e che hanno come solo scopo l'impressionare chi sta di fronte allo schermo.

Sicuramente la "demo scene" e' un qualcosa di affascinante e meriterebbe un po' piu' di attenzione da parte del grande pubblico informatico. Si tratta di "programmazione estrema" dove lo scopo e' ottenere il massimo da un computer nel campo della regia, della grafica e del suono. Sono anche a mio parere interessanti le competizioni vincolate; in cui il massimo deve essere ottenuto in un numero di byte prefissato.

Molti dei programmi di queste pagine sono tutti programmi DOS ma girano senza problemi anche in una finestra DOS di Windows se si porta la finestra a schermo intero. La ragione per cui non ho scritto questi programmi in Windows e' che Windows non aiuta assolutamente la scrittura di effetti di questo tipo (nel mio tempo libero ho di meglio da fare che mettermi a litigare (gratis) con chiamate come RealizePalette).

Recentemente mi sono messo a giocare con OpenGL ... quindi da qui in avanti scrivero cose anche per Windows (e forse anche per Irix, visto che ho anche una SGI O2 che prende posto su questa scrivania).

Mandelbrot zoomer

Questo e' il famoso frattale di Mandelbrot. Ho scelto un punto specifico del piano complesso e ho scritto un programma che effettua uno zoom su quel punto arrivando al limite della precisione aritmetica dei double. Lo zoom e' continuo, include una rotazione e viene fatto in realtime. A dire il vero si tratta di un trucco ... l'animazione in realta' e' un filmato compresso che usa una compressione speciale che riesce a compatare tutto in 600 bytes (incluso programma di playback) ;-)

Per quelli a cui piace windows ho aggiunto una versione che gira in finestra; e' circa 20Kb e implementa una migliore palette di colori e una immagine piu' definita. Il programma e' stato scritto in C perche' io sono decisamente troppo pigro per mettermi a scrivere sotto windows in assembler puro.

OpenGL Demo 1.05
Questo e' il mio primo esperimento con OpenGL. Il pulsante sinistro del mouse controlla la rotazione dell'oggetto, il pulsante destro apre un menu popup con qualche opzione. Sul mio computer questo programma gira abbastanza velocemente (riesce a stare in un quadro 60Hz con 16K poligoni texture+envmap quando la finestra e' massimizzata a 1024x768) pero' questo non vuol dire molto visto che da poco ho un nuovo PC P4/2.4GHz con una scheda video GeForce 4 Mx 440.
Animazione a particelle
Questa e' una animazione ottenuta visualizzando un grande numero di particelle puntiformi in 3 dimensioni che si muovono secondo delle leggi di attrazione speciale verso un centro.
Simulazione liquido
Anche questa animazione e' ottenuta utilizzando un grande numero di particelle che pero' sono soggette alla forza di gravita' ed ad una repulsione fra particella e particella e fra particella e contenitore. Il risultato netto e' una simulazione che rende l'idea di un liquido versato in un contenitore. La parte complicata di questo programma e' ovviamente la velocita' di calcolo, ottenuta solo a costo di notevoli semplificazioni nelle formule di repulsione.
256 byters
Questi programmi dimostrativi sono un esempio di cosa si riesce a fare con un computer quando si decide utilizzare la programmazione a livello assembler. Tutti questi programmi occupano meno di 256 bytes ovvero molto meno di una icona di Windows.
Torus
Questo e' un programma della categoria 4Kb che avevo scritto nel 1995 per partecipare alla competizione internazionale di programmazione "ASM" che si tiene ogni anno in Finlandia. Purtroppo in quell'anno non avevo abbastanza giorni di ferie residui per poter partecipare e quindi il mio programma non ha potuto competere. Forse sono in realta' stato fortunato in quando ASM95 sara' ricordato come l'anno dell'invasione dei "tori"... non c'era nessuna demo 4Kb che non mostrasse in qualche modo una ciambella danzante sul video...
Units
Questo programma e' stato il mio primo rilascio nella demoscene; si tratta di una demo ottenuta mettendo assieme in una giornata un po' di effetti che stavano sparpagliati sul mio hard disk. Non si tratta di nulla di eccezionale; bisogna tenere anche conto che e' stata scritta per girare su un 486 senza coprocessore.
Esplosioni
Questi due programmi rappresentano dei miei esperimenti di effetti bidimensionali di simulazione esplosioni. Sun2 e' un programma scritto in pascal mentre il Sun22 e' un programma assembler protected mode.
Demo interattive
In questo file .ZIP sono presenti alcune demo interattive: NEWVOX4 e' un programma che permette di controllare tramite mouse o tastiera il movimento di una pallina su di un paesaggio montuoso; BACK e' una simulazione bidimensionale dell'ombra che produce una luce quando viene messa dietro una scritta in presenza di foschia mentre JELLO e' la simulazione della fisica di un corpo elastico bidimensionale.
Giochi
Questo file contiene due giochi che ho realizzato come passatempo. Il primo e' un programma di scacchi che ho scritto assieme a Max Scavini, un amico del circolo di Vigevano; il secondo e' una versione del famosissimo TETRIS che ho scritto come regalo di compleanno per una mia amica in Canada: si tratta di una versione un po' piu' "sociale" di TETRIS in quanto permette di giocare in due sulla stessa tastiera.
Cartoline di Natale
Questo file contiene due cartoline di Natale che ho realizzato per i miei amici negli anni 1996 e 1997. Se possedete un computer abbastanza veloce e dotato di una scheda grafica VESA 1.2 o superiore allora lanciate xmas97 con le opzioni "/v640x480 /f"; la grafica risultera' sicuramente piu' accattivante.
Emulatore 6502
Questo e' un emulatore del processore 6502 che ho scritto per un amico che sta lavorando ad un emulatore NES in Delphi. Per provare il processore virtuale ho anche scritto un emulatore minimale di Apple ][ che gestisce solamente il video in modo testo e la tastiera. Ho incluso nel file ZIP anche l'immagine delle ROM originali di un Apple ][: poiche' pero' si tratta di materiale protetto da copyright chi non possiede un computer Apple ][ dovrebbe cancellare questi file se decide di scaricare il programma.